package com.deyuanyun.pic.pipe.service;

import java.util.HashMap;
import java.util.List;

import com.deyuanyun.pic.pipe.domain.MapValveRoomObj;
import com.deyuanyun.pic.settings.controller.dto.PipeValveRoomInfraVO;
import com.github.pagehelper.Page;

public interface PipeValveRoomService {

    
    List<MapValveRoomObj> queryMapValveRoomObj(String pipeLineId);
    
    
	public Page<HashMap<String,Object>> findPage(HashMap param);

	Page<Object[]> findObjectList(HashMap param);
	
	//新建，删除、批量删除，批量修改状态（发布、启用、停用），条件查询
		/**
		* @Description: 新建站场阀室，包括：站场阀室名称、站场阀室代号
		* @author h.x.rong
		* @date 2015年12月23日
		* @param @param PipeValveRoomInfraVO
		* @return void 
		*
		 */
		void insertValveRoom(PipeValveRoomInfraVO pipeValveRoomInfraVO);
		/**
		* @Description: 条件查询，包括：站场阀室名称、站场阀室代号，任务状态、状态
		* @author h.x.rong
		* @date 2015年12月23日
		* @param @return
		* @return Page 
		*
		 */
		Page<HashMap<String,Object>> findByCondition(PipeValveRoomInfraVO pipeValveRoomInfraVO);
		/**
		* @Description: 批量删除(删除为假删除)
		* @author h.x.rong
		* @date 2015年12月23日
		* @param @param ids
		* @return void 
		 */
		int dUpdateByIds(List ids);
		/**
		* @Description: 批量删除（删除为真删除）
		* @author h.x.rong
		* @date 2015年12月30日
		* @param @param id
		* @return void 
		*
		 */
		int deleteByIds(List ids);
		/**
		* @Description: 批量修改状态（发布）
		* @author h.x.rong
		* @date 2015年12月23日
		* @param 
		* @return void 
		*
		 */
		int  updateStatus(List ids);

		/**
		* @Description: 删除未发布数据
		* @author h.x.rong
		* @date 2015年12月28日
		* @param @param id
		* @return void 
		*
		 */
//		int removeVRById(String id);

		/**
		* @Description: 假删除已发布数据
		* @author h.x.rong
		* @date 2015年12月28日
		* @param @param id
		* @return void 
		*
		 */
		int shamRemoveVRById(String id);

		/**
		* @Description: 站场阀室数据启用、停用
		* @author h.x.rong
		* @date 2015年12月30日
		* @param @param id
		* @param @param status
		* @return void 
		*
		 */
		int updateVRS(List id, short status);

		/**
		* @Description: 站场阀室修改、编辑
		* @author h.x.rong
		* @date 2015年12月31日
		* @param @param pipeValveRoomInfraVO
		* @return void 
		*
		 */
		public void updateVR(PipeValveRoomInfraVO pipeValveRoomInfraVO);

		/**
		* @Description: 站场阀室验证重复（如：新增时需验证重复）
		* @author h.x.rong
		* @date 2015年12月31日
		* @param @return
		* @return List 
		*
		 */
		public List validatRepByVR(PipeValveRoomInfraVO pipeValveRoomInfraVO);
		/**
		* @Description: 站场阀室验证重复（修改时需验证重复）
		* @author h.x.rong
		* @date 2015年12月31日
		* @param @return
		* @return List 
		 */
		public List validatRepByVRU(PipeValveRoomInfraVO pipeValveRoomInfraVO);
}
